Replace user-facing "Magic code" copy with "Security code"#96181
Replace user-facing "Magic code" copy with "Security code"#96181MelvinBot wants to merge 2 commits into
Conversation
Co-authored-by: Lauren <laurenreidexpensify@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Lauren <laurenreidexpensify@users.noreply.github.com>
|
Fixed the failing Oxfmt check and pushed to the branch. What was failing: explanation:
'Face/fingerprint or passkey verification are enabled on one or more devices. Revoking access will require a security code for the next verification on that device.',I ran oxfmt Still red — but not code-related: the |
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: The diff is too large to include in this comment (137KB), so I've created a gist for you: 📋 View the translation diff here 📋 Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
|
👋 I looked into the failing checks. The only check that's actually failing is PR Author Checklist / Why it fails: the check reports Why there's no code fix: this PR only changes To make it green: the author checklist is meant to be completed by a human author, so I didn't auto-tick it. Please review and check the boxes in the PR description (or confirm you'd like me to). It won't block review or merge either way. |
|
Following up — the status is unchanged, and there's still no code fix to push. The single red check is PR Author Checklist / To turn it green: the author checklist is a human-author responsibility (it attests to manual testing/QA), so I can't complete it on your behalf. Please review and tick the boxes in the PR description. Once they're checked, the |
|
@NikkiWines @chuckdries could you take a look here when you have a moment? This PR is now just focused on the front end copy, but it feels like we should probably also change the constants - eg Line 129 in 4c928c1 do you see any reason why we couldn't update |
|
@laurenreidexpensify yeah |
|
Noting here that we have a bunch of components and files that use Those should all use our internal term, However, to keep things simpler, let's update the user-facing copy to use thoughts cc: @laurenreidexpensify @chuckdries |
|
I agree, let's tackle the user facing localization strings separately from renaming all the source code files and constants, since doing that refactor is riskier and has no user-visible benefit |
|
Okay @Pujan92 over to you to review Melvin's code and get us ready for merge here please :) |
|
@justinpersaud Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6aa5268851
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| zoom: 'Zoom', | ||
| password: 'Password', | ||
| magicCode: 'Magic code', | ||
| magicCode: 'Security code', |
There was a problem hiding this comment.
Update non-English locale copies too
For non-English users this still surfaces the old wording: IntlStore loads the selected locale module directly (for example ./es or ./de), and those files still contain old values like src/languages/es.ts:75 (Código mágico) and src/languages/de.ts:121 (Magischer Code) plus the old resend/error copy. Since the app does not fall back to this updated English value after a locale is loaded, please apply the generated locale updates as part of this change.
Useful? React with 👍 / 👎.
|
The only failing checks are the two checklist checks, and there's nothing for me to fix in code here: These aren't CI/build failures — they fail by design until the checkboxes in the PR body (Author) and the reviewer's checklist (Reviewer) are ticked off. Every actual code/build/test check is green (Bun tests, ESLint, Oxfmt, typecheck, To turn these green: the PR author needs to complete the PR Author Checklist (fill in the |
Explanation of Change
This is a front-end copy-only change: it renames every user-facing "Magic code" reference to "Security code" across NewDot (sign-in, onboarding, one-time verification gates, per-action confirmations, and error messages).
Per the internationalization workflow,
src/languages/en.tsis the single source of truth and every other locale file is auto-generated. So this PR edits onlysrc/languages/en.ts(26 string values). TheGenerate static translationsworkflow runs automatically on PRs that touchen.tsand will regeneratede/es/fr/it/ja/nl/pl/pt-BR/zh-hansfrom the updated English source.Only string values were changed — translation keys (
magicCode,enterMagicCode, etc.), routes (.../confirm-magic-code), component names (MagicCodeInput), and code identifiers are intentionally left unchanged, since those are not user-facing and changing them would be a behavior change (out of scope).Fixed Issues
$ #96180
PROPOSAL:
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari